package com.testing.class5;

import java.sql.SQLOutput;
import java.util.Arrays;

public class DoubleArray {

    public static void main(String[] args) {
        //二维数组：
        //第一个是行号，第二个是列号。
        //实际上，是一个doubleS的二维数组，里面存了3个1维String[]数组
        String[][] doubleS=new String[3][6];
        System.out.println(doubleS);
        //二维数组创建实际是创建了一个长度为3的1维数组，而每个单元格里面存储元素的是数组。
        String[][] noDoubleS=new String[3][];


        for (String[] aDouble : doubleS) {
            System.out.println(aDouble);
        }

        //数组赋值
        //由于二维数组的长度已经指定了，不能直接去使用 doubles[0]={}的形式
        //需要用doubleS[0]=new String[]{}
        doubleS[0]=new String[]{"roy","是","一个","可爱","老师","教java"};
       //二维数组在进行操作的时候，存的是一个指向二维数组存储空间的内存地址。
        //新开一块内存地址，存的是{"a","b","c","d"}
        String[] second={"a","b","c","d"};
        //将二维数组的第2个内存空间，指向second的地址。
        doubleS[1]=second;

        //遍历二维数组，里面的每个元素都是一维数组。
        for (String[] aDouble : doubleS) {
            System.out.println(Arrays.toString(aDouble));
        }

        //遍历二维数组中的元素
        //直接获取二维数组中的一维数组中的元素
        System.out.println(doubleS[1][3]);

        //foreach 循环。
        //遍历所有内容，用双层循环。
        for (String[] aDouble : doubleS) {
            for (String s : aDouble) {
                System.out.print(s+" ");
            }
            System.out.println("=========foreach循环======");
        }

        //下标循环，所做的操作是针对元素可以做任何事情。
        //遍历2维数组的长度（也就是3，存储了3个1维数组）
        for(int i=0;i<doubleS.length;i++){
            //遍历每个1维数组的长度
            for(int ii=0;ii<doubleS[i].length;ii++){
                doubleS[i][ii]="a";
            }
        }

        //下标循环
        //遍历2维数组的长度（也就是3，存储了3个1维数组）
        for(int i=0;i<doubleS.length;i++){
            //遍历每个1维数组的长度
            for(int ii=0;ii<doubleS[i].length;ii++){
                System.out.print(doubleS[i][ii]+" ");
            }
            System.out.println();
        }




//        String[][] forth=new String[2][2];
//        forth[0]=new String[]{"a","b","c"};
//        forth[1]=new String[]{"a","b"};
//
//        String[][] sixth=new String[2][];
//        sixth[0]=new String[]{"a","b","c"};
//        sixth[1]=new String[]{"a","b"};
//
//        String[][] fifth={
//                {"a","b","c"},
//                {"d","e"},
//                {"f"}
//        };
//
//        //多维数组：四维数组就相当于，创建内存空间，用来存放3个三维数组。
//        String[][][][] ss=new String[3][][][];




    }



}
